package com.pds.web.monitor.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pds.web.monitor.domain.MonitorTaskDTO;
import com.pds.web.monitor.domain.PdsMonitorTask;
import com.pds.web.monitor.domain.PdsMonitorTaskVO;
import com.pds.web.monitor.dto.TaskDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PdsMonitorTaskMapper extends BaseMapper<PdsMonitorTask> {
    Long selectContractId(Long companyId);

    int insertTask(PdsMonitorTask pdsMonitorTask);

    Long selectOrganizationId(long deptId);

    List<PdsMonitorTaskVO> listTask(MonitorTaskDTO monitorTaskDTO);

    int updateTask(PdsMonitorTask pdsMonitorTask);

    int deleteTask(Long id);

    Long selectCompanyId(long deptId);

    List<Map> listAll(TaskDTO taskDTO);

    PdsMonitorTask queryById(Long id);

    /**
     * 查询检测机构-检测任务负责人的待接收任务
     * @param organizationId
     * @return
     */
    List<Map> getTestLeaderTask(Long organizationId);

    /**
     * 检测机构-报告撰写员的提交和审批退回处理任务
     * @param userId
     * @return
     */
    List<Map> getTestReportWriterTask(Long userId);

    /**
     * 企业、运维机构管理员统计数量为本企业全部，环保局查全部
     * @param type
     * @param organizationId
     * @return
     */
    Map getOpsTaskCount(@Param("type") int type,@Param("organizationId") Long organizationId);
}
